package com.uclocation.DAO;

import java.util.HashMap;

import com.uclocation.DTO.UCLocation;

/**
 * 
 * @author Rico Our interface for the DAO layer. Has select and insert
 *         functionality.
 * sdfa
 */

public interface IUCLocationDAO {

	/**
	 * 
	 * @param LocationName
	 *            is the name given to a UC Location. This is our primary key
	 *            The location name to search and retrieve from our database
	 * @return A single UCLocation object
	 * @throws Exception
	 *             Indicates that the LocationName (which is the primary key)
	 *             does not exist
	 */

	UCLocation selectUCLocationn(String LocationName) throws Exception;

	/**
	 * 
	 * @param location
	 *            is an instance of UCLocation class. The UCLocation object to
	 *            be persisted to our database
	 * @throws Exception
	 *             Indicates that either Location or UCLocation name was not set
	 *             properly. Therefore, did not insert data into our database
	 */
	void AddUCLocation(UCLocation location) throws Exception;

	/**
	 * 
	 * @return A key value pair of all UCLocation objects. The key is the
	 *         UCLocationName field from the DTO package The value is the
	 *         instanced of UCLocation that is mapped to that UCLocationName.
	 */
	HashMap<String, UCLocation> SelectAllUCLocation();

}
